package io;

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

/**
 * 完成简易记事本工具。
 * 程序启动后将用户输入的每一行字符串都按行写入到note.txt中
 * 当用户单独输入exit时退出。
 * 要求:完成4层流连接
 *
 * 选做:程序启动后可以要求用先输入一个文件名，然后对该文件写操作
 */
public class Test4 {
    public static void main(String[] args) throws FileNotFoundException {
        FileOutputStream fos = new FileOutputStream("note.txt",true);
        OutputStreamWriter osw = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
        BufferedWriter bw = new BufferedWriter(osw);
        /*
            创建PrintWriter时，如果第一个参数是一个流，那么就支持
            再传入一个boolean值参数，用于表示是否打开自动行刷新操作
            开启自动行刷新功能后，每当调用println方法后就会自动flush
            注意，print并不会自动flush
         */
        PrintWriter pw = new PrintWriter(bw,true);

        Scanner scanner = new Scanner(System.in);
        System.out.println("请开始输入内容，单独输入exit退出");
        while(true){
            String line = scanner.nextLine();
            if("exit".equalsIgnoreCase(line)){
                break;
            }
            pw.println(line);
//            pw.flush();
        }
        System.out.println("再见!");
        pw.close();
    }
}







